package com.sun.umbrella.service.bns.res;


import com.sun.umbrella.domain.bo.ResInfoBO;
import com.sun.umbrella.domain.bo.SysBO;
import com.sun.umbrella.domain.vo.ResSaveVO;
import com.sun.umbrella.domain.vo.ResUpdateVO;

import java.util.List;

/**
 * @description 资源信息service服务类
 * @author: Jay
 * @date: 2018-04-09 16:30
 * @version: v1.0
 */
public interface ResInfoService {

    /**
     * 资源信息保存接口
     *
     * @param resSaveVO
     * @return
     */
    Boolean saveRes(ResSaveVO resSaveVO);

    /**
     * 资源信息批量删除接口（逻辑删除）
     *
     * @param sysId
     * @param id
     * @return
     */
    Boolean deleteRes(Integer sysId,Integer id);


    /**
     * 根据资源名称和系统类型查询资源集合
     *
     * @param resName
     * @param sysId
     * @return
     */
    List<ResInfoBO> queryRessourceList(String resName, Integer sysId);


    /**
     * 根据资源id查询资源信息
     *
     * @param id
     * @param sysId
     * @return
     */
    ResInfoBO getResById(Integer id,Integer sysId);


    /**
     * 资源信息更新（可能会移动节点）
     *
     * @param resUpdateVO
     * @return
     */
    Boolean updateResource(ResUpdateVO resUpdateVO);


    /**
     * 根据roleId和sysId查询资源基础信息
     *
     * @param roleId
     * @param sysId
     * @return
     */
    ResInfoBO queryRessourceListByRoleIdAndSysId(Integer roleId, Integer sysId);


    /**
     * 查询项目资源
     *
     * @return
     */
    List<SysBO> querySysList();
}
